package canglang.monitor.dept.service.impl;

import canglang.monitor.dept.dao.DeptDAO;
import canglang.monitor.dept.model.DeptModel;
import canglang.monitor.dept.service.DeptMgr;
import canglang.monitor.dept.to.SearchTO;
import canglang.monitor.core.base.pagination.PaginatedListHelper;

import java.util.List;

public class DeptMgrImpl implements DeptMgr {

    private DeptDAO deptDAO;

    public void setDeptDAO(DeptDAO deptDAO) {
        this.deptDAO = deptDAO;
    }

    public DeptModel addDept(DeptModel deptModel) {
        Integer deptId = deptDAO.addDept(deptModel);
        return deptDAO.getDept(deptId);
    }

    public DeptModel getDept(int deptId) {
        return deptDAO.getDept(deptId);
    }

    public DeptModel getDept(String deptName) {
        return deptDAO.getDept(deptName);
    }

    public DeptModel saveDept(DeptModel deptModel) {
        return deptDAO.saveDept(deptModel);
    }

    public void deleteDept(int deptId) {
        deptDAO.deleteDept(deptId);
    }

    public PaginatedListHelper search(PaginatedListHelper helper, SearchTO searchTO){
        		int count = deptDAO.searchCount(searchTO);
		helper.setFullListSize(count);
		List list = deptDAO.searchList(helper, searchTO);
		helper.setList(list);
		return helper;
    }

}
